package usecases;

import java.util.List;

import javax.ejb.Remote;

import domaine.Joueur;
import domaine.Partie;
import domaine.Tour;

@Remote
public interface GestionPartie {
	Partie creerUnePartie(Joueur joueur, String nomPartie);

	Partie rejoindreUnePartie(int idPartie, Joueur joueur);

	List<Partie> listerPartiesEnAttente();

	List<Partie> listerParties();

	Tour jouerUnePartie(Partie partie);

	String visualiserJournalPartie(int partie);

	boolean quitterLaPartie(Joueur joueur, Partie partie);
	
	Partie terminerPartie(Partie p);

	List<Joueur> listerJoueurs(Partie partie);

	boolean commencerPartie(Partie partie);

	boolean estFinie(Partie partie);
	
	boolean annulerPartie(Partie partie);
	List<Partie> listerPartiesTerminees();
	
	Partie chargerPartie(Partie partie);
	
	Partie rechercherPartie(int id);
	
	void clear();
}
